SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[paObtenerServiciosActivosDeSuplentesComunes]
-- <ACTUALIZACIONES> 08-09-2006 por SANES, Jorge. (Se agrego Filtro por CUISE)
-- <ACTUALIZACIONES> 03-11-2006 por OTERO, Marcelo y SANES, Jorge. (Se agrego Consulta por Mes y Anio)
-- <ACTUALIZACIONES> 04-12-2006 por OTERO, Marcelo y SANES, Jorge. (Se agrego relación con Tb_RelOrganizacionUsuario - para que no procesen lo que no corresponde)
-- <ACTUALIZACIONES> 20-10-2008  por OTERO, Marcelo y SANES, Jorge. (Se cambio Where de como toma y controla contra la cola la existencia de un Continua)

@Anio INT,
@Mes INT,
@Cuise INT = NULL


AS
SET NOCOUNT ON
SET DATEFORMAT dmy
DECLARE @IdUsuario INT 

SET @IdUsuario = dbo.sp_usuario(SYSTEM_USER)

IF @Cuise IS NULL
	BEGIN
		SELECT LTRIM(RTRIM(ApellidosyNombres))+' - '+LTRIM(RTRIM(CONVERT(VARCHAR(10), Af.numeroAfiliado))) AS ApellidosyNombres , Fechaalta, IdSubServicio, Cupof, FechaAltaUltimoSub, SitLabUltimoSub
			 FROM VwServiciosAgentesSF S
			    LEFT OUTER JOIN Tb_Afiliaciones Af ON Af.IdAgente = S.IdAgente AND Af.Organismo = 1
				WHERE S.IdSituacionRevista = 4
				AND ((Month(S.FechaAlta) < @Mes AND Year(S.FechaAlta) = @Anio) OR ( Year(S.FechaAlta) < @Anio))    -- 16-10-2008 se quito el <> y se puso <
				AND S.FechaBaja IS NULL
				AND EXISTS (SELECT top 1 Org.CUISE FROM TB_RelUsuarioOrganizacion RUO INNER JOIN Tb_Organizaciones Org ON Org.IdOrganizaciones = RUO.IdOrganizacion WHERE RUO.IdUsuario=@IdUsuario AND ORG.CUISE=S.CUISE)
				AND NOT Exists
					(SELECT top 1  C.IdCola 
						FROM vw_ColaDeMovimientosContinuidades C 
						WHERE  C.IdServicioBase = S.idServicioAgente AND ((Month(C.Fecha1) >= @Mes AND Year(C.Fecha1) = @Anio) OR (Year(C.Fecha1) > @Anio))
					)
	/*				(SELECT top 1  C.IdCola 
						From VwColademovimientos C 
						Inner Join VwPlazasdeMovimiento P On C.IdCola = P.IdCola
						Inner Join VwSubserviciosAgentesSF SS On SS.ServicioAgente = S.IdServicioAgente and SS.IdPlaza= P.IdPlaza
						WHERE C.Movimiento = 10 AND ((Month(C.Fecha1) >= @Mes AND Year(C.Fecha1) = @Anio) OR (Year(C.Fecha1) > @Anio))
					)*/
				ORDER BY CUPOF
	END
ELSE
	BEGIN 
		SELECT  LTRIM(RTRIM(ApellidosyNombres))+' - '+LTRIM(RTRIM(CONVERT(VARCHAR(10), Af.numeroAfiliado))) AS ApellidosyNombres , Fechaalta, IdSubServicio, Cupof, FechaAltaUltimoSub, SitLabUltimoSub 
		  FROM VwServiciosAgentesSF S
		    LEFT OUTER JOIN Tb_Afiliaciones Af ON Af.IdAgente = S.IdAgente AND Af.Organismo = 1
			WHERE S.IdSituacionRevista = 4
			AND ((Month(S.FechaAlta) < @Mes AND Year(S.FechaAlta) = @Anio) OR ( Year(S.FechaAlta) < @Anio))  -- 16-10-2008 se quito el <> y se puso <
			AND S.FechaBaja IS NULL
			AND (S.Cuise = @Cuise AND EXISTS (SELECT top 1 Org.CUISE FROM TB_RelUsuarioOrganizacion RUO INNER JOIN Tb_Organizaciones Org ON Org.IdOrganizaciones = RUO.IdOrganizacion WHERE RUO.IdUsuario=@IdUsuario AND ORG.CUISE=S.CUISE))
			AND NOT Exists
				(SELECT top 1  C.IdCola 
					FROM vw_ColaDeMovimientosContinuidades C 
					WHERE  C.IdServicioBase = S.idServicioAgente AND ((Month(C.Fecha1) >= @Mes AND Year(C.Fecha1) = @Anio) OR (Year(C.Fecha1) > @Anio))
				)
/*				(SELECT top 1  C.IdCola From VwColademovimientos C Inner Join VwPlazasdeMovimiento P On C.IdCola = P.IdCola
					Inner Join VwSubserviciosAgentesSF SS On SS.ServicioAgente = S.IdServicioAgente and SS.IdPlaza= P.IdPlaza
					WHERE C.Movimiento = 10 AND ((Month(C.Fecha1) >= @Mes AND Year(C.Fecha1) = @Anio) OR (Year(C.Fecha1) > @Anio))
				)*/
			ORDER BY CUPOF 
	END
GO
GRANT EXECUTE ON  [dbo].[paObtenerServiciosActivosDeSuplentesComunes] TO [PersonalDocente]
GRANT EXECUTE ON  [dbo].[paObtenerServiciosActivosDeSuplentesComunes] TO [PersonalDocenteDireccion]
GO
